home *** CD-ROM | disk | FTP | other *** search
/ Softdisk G-S 93 / SGDS 93.2mg / SDGS.93 / SDC93 / C / AZTEC.TEMPLE (.txt) < prev    next >
Encoding:
Applesoft BASIC Source Code  |  1989-05-22  |  16.6 KB  |  521 lines  |  [FC] Applesoft BASIC Program (0x0801)

  1. 1  REM AZTEC TEMPLE
  2. 3  REM  BY TOM HALL 6/89
  3. 4  CLEAR 
  4. 5  ONERR  GOTO 7
  5. 6  PRINT  CHR$(4)"PR#3":WL = 1403: GOTO 9
  6. 7 WL = 36: GOSUB 55010
  7. 9  POKE 216,0: GOTO 90
  8. 10  REM <CTRL-0x0a>input in$<CTRL-0x0a>
  9. 12  REM pass in$:return in$:pass h,v for htab,vtab: pass iw for input width
  10. 14 IN$ = ""
  11. 16 BS$ =  CHR$(8):ES$ =  CHR$(27):CR$ =  CHR$(13): VTAB V: HTAB H
  12. 18  PRINT IN$;
  13. 20  PRINT " "BS$;
  14. 22  IF  PEEK(49152) <128  THEN  PRINT "|"BS$;: GOTO 20
  15. 24  GET K$
  16. 26  IF K$ > = "A"  AND K$ < = "Z"  THEN 46
  17. 28  IF K$ > = "a"  AND K$ < = "z"  THEN K$ =  CHR$( ASC(K$) -32): GOTO 46
  18. 30  IF K$ =  CHR$(24)  THEN  IF  LEN(IN$)  THEN  HTAB H: PRINT  SPC(  LEN(IN$) +1):IN$ = "": GOTO 14
  19. 32  IF K$ = " "  AND   NOT  LEN(IN$)  THEN  POKE  -16368,0: GOTO 48
  20. 34  IF K$ =  CHR$(127)  THEN K$ = BS$
  21. 36  IF K$ = ES$  THEN  HTAB H: PRINT  SPC(  LEN(IN$) +1):IN$ = "": GOTO 52
  22. 38  IF K$ = BS$  THEN  IF  LEN(IN$) = 1  THEN IN$ = "": PRINT " "BS$BS$;: GOTO 20
  23. 40  IF K$ = BS$  THEN  IF  LEN(IN$)  THEN IN$ =  LEFT$(IN$, LEN(IN$) -1): PRINT " "BS$BS$;: GOTO 20
  24. 42  IF K$ = CR$  AND  LEN(IN$)  THEN  PRINT : GOTO 52
  25. 44  IF K$ =  CHR$(1)  AND  LEN(TK$(0))  THEN IN$ = TK$(0) +" " +TK$(1) +" " +TK$(2) +" " +TK$(3): VTAB V: HTAB H: GOTO 18
  26. 46  IF K$ > = " "  THEN  IF  LEN(IN$) <IW  THEN IN$ = IN$ +K$: PRINT K$;: GOTO 50
  27. 48 P = 240:D = 4: GOSUB 40010
  28. 50  GOTO 20
  29. 52  RETURN 
  30. 90  DIM TK$(3): REM TOKEN LIST  
  31. 91  ONERR  GOTO 1025
  32. 92 BZ = 0:DE = 1:DS = 1
  33. 93 DIR$ = "NSEWUD"
  34. 94  GOSUB 4000
  35. 95  PRINT  CHR$(4)"OPEN AZTEC.MSGS": PRINT  CHR$(4)"READ AZTEC.MSGS"
  36. 96  INPUT NM: DIM M$(NM)
  37. 100  FOR I = 0 TO NM: INPUT M$(I): NEXT I
  38. 105  PRINT  CHR$(4)"CLOSE"
  39. 106  PRINT  CHR$(4)"OPEN AZTEC.VERBS": PRINT  CHR$(4)"READ AZTEC.VERBS"
  40. 107  INPUT NV: DIM V$(NV),VM(NV)
  41. 110  FOR I = 1 TO NV
  42. 120  INPUT V$(I),VM(I)
  43. 130  NEXT I
  44. 131  PRINT  CHR$(4)"CLOSE"
  45. 132  PRINT  CHR$(4)"OPEN AZTEC.NOUNS": PRINT  CHR$(4)"READ AZTEC.NOUNS"
  46. 133  INPUT NN: DIM N$(NN),NM(NN)
  47. 140  FOR I = 1 TO NN
  48. 150  INPUT N$(I),NM(I)
  49. 160  NEXT I
  50. 161  PRINT  CHR$(4)"CLOSE"
  51. 162  PRINT  CHR$(4)"OPEN AZTEC.PREPS": PRINT  CHR$(4)"READ AZTEC.PREPS"
  52. 163  INPUT PN: DIM PR$(PN),PR(PN)
  53. 164  FOR I = 1 TO PN: INPUT PR$(I),PR(I): NEXT I
  54. 165  PRINT  CHR$(4)"CLOSE"
  55. 176  PRINT  CHR$(4)"OPEN AZTEC.ROOMS": PRINT  CHR$(4)"READ AZTEC.ROOMS"
  56. 177  INPUT NP: DIM SL$(NP),L$(NP),L%(NP,5),VR%(NP)
  57. 178  FOR I = 1 TO NP
  58. 179  INPUT SL$(I)
  59. 180  INPUT L$(I): INPUT L%(I,0),L%(I,1),L%(I,2),L%(I,3),L%(I,4),L%(I,5)
  60. 185 VR%(I) = 0: REM Visited room I
  61. 190  NEXT I
  62. 191  PRINT  CHR$(4)"CLOSE"
  63. 192  PRINT  CHR$(4)"OPEN AZTEC.ITEMS": PRINT  CHR$(4)"READ AZTEC.ITEMS"
  64. 193  INPUT NI: DIM T$(NI),T%(NI),TI%(NI)
  65. 200  FOR I = 1 TO NI
  66. 210  INPUT T$(I): INPUT T%(I):TI%(I) = T%(I)
  67. 220  NEXT I
  68. 221  PRINT  CHR$(4)"CLOSE"
  69. 222  PRINT  CHR$(4)"OPEN AZTEC.VARS": PRINT  CHR$(4)"READ AZTEC.VARS"
  70. 223  INPUT SD,SP,NT: DIM TN%(NT),V%(NT)
  71. 230  FOR I = 1 TO NT: INPUT TN%(I),V%(I): NEXT I
  72. 235  PRINT  CHR$(4)"CLOSE"
  73. 240 CP = SP:DF = SD
  74. 280  GOTO 540
  75. 290  REM PRINT ROOM DESCRIPTION
  76. 300  POKE 34,0: VTAB 1: POKE WL,0: PRINT  SPC( 40): VTAB 1: POKE WL,0: IF DF  THEN  PRINT "Dark": GOTO 310
  77. 305  PRINT SL$(CP)
  78. 310  VTAB 1: POKE WL, PEEK(33) -19: PRINT  SPC( 19);: VTAB 1: POKE WL, PEEK(33) -19: IF CP = NP  OR DF  THEN  PRINT : GOTO 315
  79. 311  PRINT "Exits:";
  80. 312  FOR I = 0 TO 5: IF L%(CP,I) < >0  THEN  PRINT  MID$ (DIR$,I +1,1)" ";
  81. 313  NEXT I: PRINT 
  82. 315  POKE 34,2: VTAB 24: POKE WL,0
  83. 320  IF DF  THEN  PRINT "It is too dark to see.": GOTO 490
  84. 325  IF OP < >CP  THEN  PRINT SL$(CP)
  85. 330  IF   NOT (DE)  THEN  IF VR%(CP)  THEN 350
  86. 340 A$ = L$(CP) +" ": GOSUB 5600
  87. 345 VR%(CP) = 1
  88. 350 K = 0:DD = 0
  89. 360 DA = 0
  90. 370  FOR I = 1 TO NI
  91. 380  IF T%(I) = CP  THEN K = K +1: GOSUB 400
  92. 390  NEXT I: GOTO 430
  93. 400  IF I <18  THEN 410
  94. 401  IF  RIGHT$(T$(I),1) = "s"  THEN A$ = "There are " +T$(I) +" here. ": GOSUB 5600: GOTO 420
  95. 402 K$ =  LEFT$(T$(I),1):VW$ = "": IF K$ = "a"  OR K$ = "e"  OR K$ = "i"  OR K$ = "o"  OR K$ = "u"  THEN VW$ = "n"
  96. 403 A$ = "There is a" +VW$ +" " +T$(I) +" here. ": GOSUB 5600: GOTO 420
  97. 410 A$ = T$(I) +" ": GOSUB 5600
  98. 420  RETURN 
  99. 430  PRINT 
  100. 490  RETURN 
  101. 540  GOSUB 5210: GOSUB 300
  102. 550  PRINT  CHR$(4)"FRE"
  103. 551  POKE 216,0: CALL 54915
  104. 552  ONERR  GOTO 551
  105. 553  VTAB 24: POKE WL,0: PRINT ">" SPC(  PEEK(33) -2);
  106. 555 V = 24:H = 2:IW = 77: GOSUB 14
  107. 556  POKE 216,0
  108. 557  IF   NOT  LEN(IN$)  THEN  PRINT : PRINT "Type QUIT to quit.": GOTO 550
  109. 560  REM  IF  LEFT$ (IN$,1) = "@" THEN CP =  VAL ( MID$ (IN$,2)): GOTO 540
  110. 570  IF  RIGHT$(IN$,1) = " "  THEN IN$ =  LEFT$(IN$, LEN(IN$) -1): GOTO 570
  111. 575 VB = 0:NO = 0:PR = 0:AU = 0
  112. 576  IF BZ < >0  THEN A$ = M$(7): GOSUB 5600: PRINT : GOTO 540
  113. 580 TC = 0:TK$(0) = "":TK$(1) = TK$(0):TK$(2) = TK$(0):TK$(3) = TK$(0):SI = 1:EI = 1
  114. 590  IF  MID$ (IN$,EI,1) < >" "  THEN 650
  115. 600 TK$(TC) =  MID$ (IN$,SI,EI -SI): IF EI -SI >4  THEN TK$(TC) =  LEFT$(TK$(TC),5)
  116. 605  IF TC = 3  THEN 700
  117. 610 IN$ =  RIGHT$(IN$, LEN(IN$) -(EI -SI))
  118. 620  IF  LEFT$(IN$,1) = " "  AND  LEN(IN$) = 1  THEN 700
  119. 630  IF  LEFT$(IN$,1) = " "  THEN IN$ =  RIGHT$(IN$, LEN(IN$) -1): GOTO 620
  120. 640 TC = TC +1:SI = 1:EI = 1: GOTO 590
  121. 650 EI = EI +1: IF EI > LEN(IN$)  THEN 700
  122. 660  GOTO 590
  123. 700  IF TK$(TC) = ""  THEN TK$(TC) =  MID$ (IN$,SI,EI -SI +1): IF  LEN(TK$(TC)) >4  THEN TK$(TC) =  LEFT$(TK$(TC),5)
  124. 710 SI = 1:EI = NV
  125. 711 PT =  INT((SI +EI)/2 +.1)
  126. 712  IF V$(PT) = TK$(0)  THEN 750
  127. 713  IF V$(PT) <TK$(0)  THEN EI = PT -1: ON EI <SI GOTO 740: GOTO 711
  128. 714 SI = PT +1: ON SI >EI GOTO 740: GOTO 711
  129. 740  PRINT "I didn't understand the verb " CHR$(34)TK$(0) CHR$(34)".": GOTO 550
  130. 750 VB = VM(PT)
  131. 755  IF TC = 0  THEN 900
  132. 760 SI = 1:EI = NN
  133. 761 PT =  INT((SI +EI)/2 +.1)
  134. 762  IF N$(PT) = TK$(1)  THEN 780
  135. 763  IF N$(PT) <TK$(1)  THEN EI = PT -1: ON EI <SI GOTO 770: GOTO 761
  136. 764 SI = PT +1: ON SI >EI GOTO 770: GOTO 761
  137. 770  PRINT "I didn't understand the noun " CHR$(34)TK$(1) CHR$(34)".": GOTO 550
  138. 780 NO = NM(PT)
  139. 785  IF TC = 1  THEN 900
  140. 790 SI = 1:EI = PN
  141. 791 PT =  INT((SI +EI)/2 +.1)
  142. 792  IF PR$(PT) = TK$(2)  THEN 810
  143. 793  IF PR$(PT) <TK$(2)  THEN EI = PT -1: ON EI <SI GOTO 800: GOTO 791
  144. 794 SI = PT +1: ON SI >EI GOTO 800: GOTO 791
  145. 800 A$ = "I didn't understand the preposition " + CHR$(34) +TK$(2) + CHR$(34) +".": GOSUB 5600: PRINT : GOTO 550
  146. 810 PR = PR(PT)
  147. 815  IF TC = 2  THEN 900
  148. 820 SI = 1:EI = NN
  149. 821 PT =  INT((SI +EI)/2 +.1)
  150. 822  IF N$(PT) = TK$(3)  THEN 840
  151. 823  IF N$(PT) <TK$(3)  THEN EI = PT -1: ON EI <SI GOTO 830: GOTO 821
  152. 824 SI = PT +1: ON SI >EI GOTO 830: GOTO 821
  153. 830  PRINT "I didn't understand the noun " CHR$(34)TK$(3) CHR$(34)".": GOTO 550
  154. 840 AU = NM(PT)
  155. 900  REM GO PARSE
  156. 920  IF VB <0  THEN  GOSUB 1050: GOTO 540
  157. 940  ON VB GOSUB 1300,1400,1500,1600,1100,1700,1180,1200,1000,5100,5000,1400,1800,1900,1900,2000,2100,2200,2300,2400,2000,2500,2600,2700,2800,2900,3000,3100,3200,3300,3400,3450,3500,3550,3570,3900,3950
  158. 960  GOTO 540
  159. 990  REM QUIT OR DEAD
  160. 1000 CP = NP:DF = 0: GOSUB 300
  161. 1010  PRINT : VTAB 24: CALL 54915
  162. 1015  POKE  -16368,0
  163. 1020 A$ = "Would you like to play this adventure again (y/n)?": GOSUB 5600: GET AG$: IF AG$ = "Y"  OR AG$ = "y"  THEN 1030
  164. 1025  TEXT : HOME : PRINT  CHR$(4)"BYE"
  165. 1030  FOR I = 1 TO NI:T%(I) = TI%(I): NEXT I: FOR I = 1 TO NP:VR%(I) = 0: NEXT I: HOME : VTAB 24: POKE WL,0: PRINT "Aztec Temple (c)1989 by Tom Hall": PRINT : GOTO 240
  166. 1040  REM N-S-E-W-U-D
  167. 1050 VB =  -VB -1
  168. 1060  IF L%(CP,VB) = 0  AND DF  THEN  PRINT "You fell down and broke your neck!":A$ = M$(9): GOSUB 5600: PRINT : GOTO 1000
  169. 1070  IF L%(CP,VB) = 0  THEN A$ = M$(6): GOSUB 5600: PRINT : RETURN 
  170. 1080 CP = L%(CP,VB): RETURN 
  171. 1090  REM <CTRL-0x0a>INVENTORY
  172. 1100 KK = 0: PRINT "You are carrying:"
  173. 1110  FOR I = 18 TO NI
  174. 1120  IF T%(I) =  -1  THEN KK = KK +1: GOSUB 1150
  175. 1130  NEXT I: IF KK = 0  THEN  PRINT "Nothing at all. ";
  176. 1140  PRINT  CHR$(8) CHR$(8)".": RETURN 
  177. 1150 A$ = T$(I) +", ": GOSUB 5600
  178. 1160  RETURN 
  179. 1170  REM HELP
  180. 1180  PRINT "Enter a sentence of the form:": PRINT "VERB NOUN PREPOSITION NOUN": PRINT "Examples of sentences": PRINT "LOOK TABLE  or  OPEN LOCK WITH KEY": PRINT "Remember, everything has a purpose.": RETURN 
  181. 1190  REM SCORE
  182. 1200 TC = 0:SC = 0
  183. 1210  FOR I = 1 TO NT
  184. 1220  IF T%(TN%(I)) = T%(24)  THEN TC = TC +1:SC = SC +V%(I)
  185. 1240  NEXT I: IF T%(24) = 33  THEN SC = SC +15:TC = TC +1
  186. 1245 S$ = "s": IF TC = 1  THEN S$ = ""
  187. 1250  PRINT "Score:"SC
  188. 1260  PRINT "(That's "TC" treasure"S$".)"
  189. 1270  IF TC = 10  THEN  PRINT "Congratulations! You win!": PRINT "You have solved Aztec Temple adventure!": GOTO 1010
  190. 1280  RETURN 
  191. 1299  REM <CTRL-0x0a>GO/CLIMB/ENTER
  192. 1300  IF NO <0  THEN VB = NO: GOTO 1050
  193. 1301  IF NO = 4  THEN NO = 1
  194. 1302  IF NO = 1  AND T%(1) = CP  THEN A$ = M$(26): GOSUB 5600: PRINT : RETURN 
  195. 1304  IF NO = 1  AND T%(2) = CP  THEN A$ = M$(6): GOSUB 5600: PRINT : RETURN 
  196. 1306  IF NO = 1  AND T%(3) = CP  THEN CP = 8: RETURN 
  197. 1308  IF NO = 1  AND T%(4) = CP  THEN CP = 42: RETURN 
  198. 1310  IF NO = 6  AND T%(6) = CP  THEN CP = 2: RETURN 
  199. 1312  IF NO = 7  AND T%(7) = CP  THEN CP = 7: RETURN 
  200. 1314  IF NO = 7  AND T%(8) = CP  THEN A$ = M$(12): GOSUB 5600: PRINT : RETURN 
  201. 1316  IF NO = 7  AND T%(9) = CP  THEN CP = 34: RETURN 
  202. 1318  IF NO = 7  AND CP = 34  THEN CP = 29: RETURN 
  203. 1320  IF NO = 7  AND T%(10) = CP  THEN CP = 20: RETURN 
  204. 1322  IF NO = 13  AND T%(13) = CP  THEN CP = 25: RETURN 
  205. 1323  IF NO = 13  AND T%(3) = CP  THEN CP = 8: RETURN 
  206. 1324  IF (NO = 16  OR NO = 17)  AND T%(17) = CP  THEN CP = 22: RETURN 
  207. 1326  IF NO = 57  AND CP = 24  THEN CP = 23: RETURN 
  208. 1327  IF NO = 58  AND CP = 2  THEN CP = 1: RETURN 
  209. 1328  IF (NO = 59  OR NO = 61)  AND CP = 15  THEN CP = 16: RETURN 
  210. 1330  IF NO = 59  AND T%(12) = CP  THEN CP = 21: RETURN 
  211. 1332  IF NO = 65  AND CP = 30  THEN  PRINT M$(7):A$ = M$(14): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  212. 1333  IF NO = 66  AND CP = 16  THEN CP = 18: RETURN 
  213. 1334  IF NO = 68  AND T%(19) =  -1  AND CP = 31  THEN CP = 35: RETURN 
  214. 1336  IF NO = 68  AND CP = 31  THEN A$ = M$(15): GOSUB 5600: PRINT : RETURN 
  215. 1338  IF NO = 69  AND CP = 5  THEN CP = 6: RETURN 
  216. 1340  IF NO = 72  AND CP = 39  THEN CP = 35: RETURN 
  217. 1341  IF (NO = 72  OR NO = 34  OR NO = 32  OR NO = 7)  AND T%(34) = CP  THEN A$ = M$(18): GOSUB 5600: PRINT : RETURN 
  218. 1342  IF NO = 73  AND T%(34) = CP  THEN A$ = M$(18): GOSUB 5600: PRINT : RETURN 
  219. 1344  IF NO = 73  AND CP = 35  THEN A$ = M$(18): GOSUB 5600: PRINT : RETURN 
  220. 1346  IF NO = 73  AND T%(12) = CP  THEN CP = 21: RETURN 
  221. 1348  IF NO = 74  AND CP = 40  THEN CP = 41: RETURN 
  222. 1350  IF NO = 75  AND T%(34) = CP  THEN CP = 39: RETURN 
  223. 1352  IF NO = 76  AND CP = 12  THEN CP = 11: RETURN 
  224. 1354  IF NO = 77  AND CP = 10  THEN CP = 13: RETURN 
  225. 1356  IF NO = 78  AND CP = 4  THEN CP = 3: RETURN 
  226. 1358  IF NO = 78  AND CP = 2  THEN CP = 3: RETURN 
  227. 1360  IF NO = 79  AND CP = 43  THEN CP = 44: RETURN 
  228. 1362  IF NO = 79  AND CP = 45  THEN CP = 44: RETURN 
  229. 1364  IF NO = 80  AND CP = 26  THEN A$ = M$(13): GOSUB 5600: PRINT : RETURN 
  230. 1366  IF NO = 81  AND CP = 36  THEN CP = 37: RETURN 
  231. 1368  IF NO = 84  AND CP = 15  THEN CP = 19: RETURN 
  232. 1390 A$ = M$(6): GOSUB 5600: PRINT : RETURN 
  233. 1399  REM <CTRL-0x0a>LOOK/EXAMINE
  234. 1400  IF DF  THEN 1498
  235. 1401  IF NO = 0  THEN VR%(CP) = 0: RETURN 
  236. 1402  IF NO = 1  AND T%(1) = CP  THEN A$ = M$(26): GOSUB 5600: PRINT : RETURN 
  237. 1404  IF NO = 62  AND T%(13) = 0  AND CP = 21  THEN A$ = M$(27): GOSUB 5600: PRINT : RETURN 
  238. 1406  IF NO = 62  AND CP = 28  AND T%(53) < >CP  THEN A$ = M$(28): GOSUB 5600: PRINT : RETURN 
  239. 1408  IF NO = 7  AND (T%(9) = CP  OR CP = 34)  THEN A$ = M$(29): GOSUB 5600: PRINT : RETURN 
  240. 1409  IF NO = 36  AND (T%(36) =  -1  OR T%(36) = CP)  THEN A$ = M$(70): GOSUB 5600: PRINT : RETURN 
  241. 1410  IF NO = 65  AND CP = 30  THEN A$ = M$(30): GOSUB 5600: PRINT : RETURN 
  242. 1411  IF NO = 39  AND (T%(39) = CP  OR T%(39) =  -1)  THEN A$ = M$(71): GOSUB 5600: PRINT : RETURN 
  243. 1412  IF NO = 68  AND CP = 31  THEN A$ = M$(31): GOSUB 5600: PRINT : RETURN 
  244. 1413  IF NO = 42  AND CP = 33  AND T%(42) < >CP  AND T%(42) < > -1  THEN A$ = M$(74): GOSUB 5600: PRINT : RETURN 
  245. 1414  IF NO = 42  AND T%(43) = CP  THEN A$ = M$(32): GOSUB 5600: PRINT : RETURN 
  246. 1415  IF NO = 42  AND T%(42) =  -1  OR (T%(42) = CP  AND CP < >30)  THEN A$ = M$(73): GOSUB 5600: PRINT : RETURN 
  247. 1416  IF NO = 22  AND (T%(22) = CP  OR T%(22) =  -1  OR T%(23) = CP  OR T%(23) =  -1)  THEN A$ = M$(33): GOSUB 5600: PRINT : RETURN 
  248. 1417  IF NO = 41  AND (T%(41) = CP  OR T%(41) =  -1)  THEN A$ = M$(72): GOSUB 5600: PRINT : RETURN 
  249. 1418  IF NO = 78  AND CP = 3  AND T%(6) = 0  THEN A$ = M$(40): GOSUB 5600: PRINT : RETURN 
  250. 1419  IF NO = 49  AND (T%(49) = CP  OR T%(49) =  -1)  THEN A$ = M$(75): GOSUB 5600: PRINT : RETURN 
  251. 1420  IF NO = 24  AND (T%(24) = CP  OR T%(24) =  -1)  THEN A$ = M$(34): GOSUB 5600: PRINT : RETURN 
  252. 1421  IF NO = 50  AND (T%(50) = CP  OR T%(50) =  -1)  THEN A$ = M$(76): GOSUB 5600: PRINT : RETURN 
  253. 1422  IF NO = 53  AND (T%(53) = CP  OR T%(53) =  -1)  THEN A$ = M$(35): GOSUB 5600: PRINT : RETURN 
  254. 1423  IF NO = 56  AND T%(11) = 0  AND CP = 17  THEN A$ = M$(1):T%(11) = CP: RETURN 
  255. 1424  IF NO = 60  AND CP = 4  THEN A$ = M$(36): GOSUB 5600: PRINT : RETURN 
  256. 1425  IF NO = 51  AND (T%(51) = CP  OR T%(51) =  -1)  THEN A$ = M$(77): GOSUB 5600: PRINT : RETURN 
  257. 1426  IF NO = 54  AND (T%(54) = CP  OR T%(54) =  -1)  AND T%(47) =  -1  THEN A$ = M$(37): GOSUB 5600: PRINT : RETURN 
  258. 1427  IF NO = 52  AND (T%(52) = CP  OR T%(52) =  -1)  THEN A$ = M$(78): GOSUB 5600: PRINT : RETURN 
  259. 1428  IF NO = 54  AND (T%(54) = CP  OR T%(54) =  -1)  THEN A$ = M$(50): GOSUB 5600: PRINT : RETURN 
  260. 1429  IF NO = 75  AND CP = 35  THEN A$ = M$(52): GOSUB 5600: PRINT : RETURN 
  261. 1430  IF NO = 78  AND CP = 4  THEN A$ = M$(51): GOSUB 5600: PRINT : RETURN 
  262. 1431  IF NO = 42  AND T%(42) = CP  AND T%(44) = CP  THEN A$ = M$(69): GOSUB 5600: PRINT 
  263. 1432  IF NO = 67  AND CP = 23  THEN A$ = M$(53): GOSUB 5600: PRINT : RETURN 
  264. 1433  IF NO = 69  AND CP = 5  THEN A$ = M$(51): GOSUB 5600: PRINT : RETURN 
  265. 1434  IF NO = 37  AND (T%(38) = CP  OR T%(38) =  -1)  THEN A$ = M$(57): GOSUB 5600: PRINT : RETURN 
  266. 1435  IF NO = 79  AND (CP = 43  OR CP = 45)  THEN A$ = M$(68): GOSUB 5600: PRINT : RETURN 
  267. 1436  IF NO = 42  AND (T%(42) = CP  OR T%(42) =  -1)  THEN A$ = M$(58): GOSUB 5600: PRINT : RETURN 
  268. 1437  IF NO = 28  AND (T%(28) = CP  OR T%(28) =  -1)  THEN A$ = M$(59): GOSUB 5600: PRINT : RETURN 
  269. 1438  IF NO = 27  AND (T%(27) = CP  OR T%(27) =  -1)  AND T%(28) = 0  THEN  PRINT M$(1):T%(28) = CP:VR%(CP) = 0: RETURN 
  270. 1439  IF NO = 46  AND (T%(46) =  -1  OR T%(47) =  -1  OR T%(46) = CP  OR T%(47) = CP)  THEN A$ = M$(79): GOSUB 5600: PRINT : RETURN 
  271. 1440  IF NO = 70  AND CP = 5  AND T%(20) = 0  THEN  PRINT M$(1):VR%(CP) = 0:T%(20) = CP:T%(21) = CP:T%(22) = CP: RETURN 
  272. 1442  IF NO = 71  AND T%(50) = 0  AND CP = 38  THEN  PRINT M$(1):VR%(CP) = 0:T%(50) = CP: RETURN 
  273. 1444  IF NO = 48  AND (T%(48) = CP  OR T%(48) =  -1)  AND T%(49) = 0  THEN  PRINT M$(1):VR%(CP) = 0:T%(49) = CP: RETURN 
  274. 1446  IF NO = 80  AND CP = 26  AND T%(40) = 0  THEN  PRINT M$(1):T%(40) = CP: RETURN 
  275. 1498 A$ = M$(0): GOSUB 5600: PRINT : RETURN 
  276. 1499  REM <CTRL-0x0a>GET
  277. 1500 ZZ = 0: FOR I = 18 TO NI: IF T%(I) =  -1  THEN ZZ = ZZ +1
  278. 1510  NEXT I: IF ZZ = 10  THEN A$ = M$(60): GOSUB 5600: PRINT : RETURN 
  279. 1511  IF NO = 255  THEN 1590
  280. 1512  GOSUB 3800
  281. 1513  IF (NO = 32  OR NO = 33  OR NO = 34)  AND T%(34) = CP  THEN  PRINT M$(18): RETURN 
  282. 1514  IF NO = 44  AND (T%(44) = CP  OR T%(45) = CP)  THEN  PRINT M$(7):A$ = M$(14): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  283. 1515  IF NO = 42  AND T%(44) = CP  AND PR = 1  AND AU = 28  AND T%(28) =  -1  THEN  PRINT M$(7):A$ = M$(11): GOSUB 5600: PRINT :T%(44) = 0:T%(45) = CP:T%(42) =  -1: RETURN 
  284. 1516  IF NO = 42  AND T%(42) = CP  AND CP = 30  THEN  PRINT M$(7):A$ = M$(14): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  285. 1517  IF NO = 48  AND T%(48) = CP  THEN  PRINT M$(57): RETURN 
  286. 1518  IF NO = 42  AND T%(42) < >CP  AND CP = 33  THEN A$ = M$(54): GOSUB 5600: PRINT : RETURN 
  287. 1519  IF (NO = 42  OR NO = 43)  AND T%(43) = CP  THEN A$ = M$(66): GOSUB 5600: PRINT : RETURN 
  288. 1520  IF (NO < >32  AND NO < >33)  OR CP < >19  THEN 1530
  289. 1522  IF PR = 1  AND AU = 49  AND T%(49) =  -1  AND T%(32) = 0  AND T%(31) = 0  AND T%(34) = 0  THEN  PRINT M$(7):T%(32) = CP: RETURN 
  290. 1523  IF T%(33) = CP  AND T%(32) < >CP  THEN A$ = M$(10): GOSUB 5600: PRINT : RETURN 
  291. 1524  IF T%(31) < >0  OR T%(34) < >0  THEN A$ = M$(61): GOSUB 5600: PRINT : RETURN 
  292. 1525  IF T%(32) = CP  THEN 1580
  293. 1526  IF T%(49) =  -1  AND AU < >49  THEN A$ = M$(43): GOSUB 5600: PRINT : RETURN 
  294. 1527  IF T%(31) = CP  THEN T%(31) =  -1: PRINT M$(7): RETURN 
  295. 1528  IF T%(49) < > -1  AND T%(32) = 0  THEN A$ = M$(62): GOSUB 5600: PRINT : RETURN 
  296. 1529 A$ = M$(8): GOSUB 5600: PRINT : RETURN 
  297. 1530  IF NO = 39  AND T%(37) = CP  THEN  PRINT M$(7):A$ = M$(16): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  298. 1531  IF NO = 37  AND T%(37) = CP  THEN  PRINT M$(7):A$ = M$(16): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  299. 1532  IF NO = 54  AND T%(5) = CP  THEN A$ = M$(18): GOSUB 5600: PRINT : RETURN 
  300. 1534  IF NO = 57  AND CP = 24  THEN  PRINT M$(2): RETURN 
  301. 1536  IF NO = 76  AND CP = 12  THEN A$ = M$(54): GOSUB 5600: PRINT : RETURN 
  302. 1578  IF NO <18  OR NO >55  THEN  PRINT M$(2): RETURN 
  303. 1580  IF T%(NO) < >CP  THEN  PRINT M$(4): RETURN 
  304. 1585 T%(NO) =  -1: PRINT M$(7)
  305. 1588  RETURN 
  306. 1590  FOR S = 17 TO NI: IF T%(S) = CP  THEN NO = S:A$ = "Get " +T$(S) +": ": GOSUB 5600: PRINT : GOSUB 1500
  307. 1592  NEXT S
  308. 1593  IF NO = 255  THEN  PRINT "Nothing gettable here."
  309. 1598  RETURN 
  310. 1599  REM <CTRL-0x0a>DROP
  311. 1600  GOSUB 3600
  312. 1610  IF NO = 47  AND T%(47) =  -1  THEN T%(47) = 0:T%(46) =  -1:NO = 46
  313. 1620  IF NO = 19  AND T%(19) =  -1  THEN NO = 18:T%(18) =  -1:T%(19) = 0
  314. 1670  IF NO >NI  THEN  PRINT M$(2): RETURN 
  315. 1680  IF T%(NO) < > -1  THEN  PRINT M$(4): RETURN 
  316. 1690 T%(NO) = CP: PRINT M$(7)
  317. 1698  RETURN 
  318. 1699  REM <CTRL-0x0a>THROW
  319. 1700  IF NO = 26  AND T%(5) = CP  AND T%(26) =  -1  AND T%(40) = CP  THEN  PRINT M$(7):A$ = M$(23): GOSUB 5600: PRINT :T%(5) = 0:T%(54) = CP:T%(26) = CP: RETURN 
  320. 1710  IF NO = 26  AND T%(5) = CP  AND T%(26) =  -1  THEN  PRINT M$(7):A$ = M$(22): GOSUB 5600: PRINT :T%(5) = 0:T%(55) = CP:T%(26) = CP: RETURN 
  321. 1720  IF (NO = 30  OR NO = 31  OR NO = 32)  AND CP = 35  AND (PR = 2  OR PR = 5)  AND T%(31) =  -1  AND AU = 72  THEN  PRINT M$(7):A$ = M$(17): GOSUB 5600: PRINT :T%(31) = 0:T%(34) = CP: RETURN 
  322. 1798  GOTO 1600
  323. 1799  REM <CTRL-0x0a>DIG
  324. 1800  IF T%(20) < > -1  THEN A$ = M$(39): GOSUB 5600: PRINT : RETURN 
  325. 1810  IF CP = 7  AND T%(25) = 0  THEN  PRINT M$(1):T%(25) = CP: RETURN 
  326. 1820  IF CP = 8  AND T%(26) = 0  THEN  PRINT M$(1):T%(26) = CP: RETURN 
  327. 1830  IF CP = 14  AND T%(30) = 0  AND T%(31) = 0  AND T%(34) = 0  THEN  PRINT M$(1):T%(30) = CP: RETURN 
  328. 1835  IF CP = 10  AND T%(27) = 0  THEN  PRINT M$(7): PRINT M$(1):T%(27) = CP: RETURN 
  329. 1840  IF NO = 7  AND CP = 29  AND T%(8) = CP  AND PR = 1  AND AU = 20  THEN  PRINT M$(7):T%(8) = 0:T%(9) = CP: RETURN 
  330. 1845  IF NO = 7  AND AU = 0  THEN A$ = M$(43): GOSUB 5600: PRINT : RETURN 
  331. 1890  PRINT M$(7): PRINT M$(0)
  332. 1898  RETURN 
  333. 1899  REM <CTRL-0x0a>OPEN/UNLOCK
  334. 1900  IF NO = 27  AND T%(27) =  -1  AND T%(28) = 0  THEN  PRINT M$(7): PRINT M$(1):T%(28) = CP: RETURN 
  335. 1910  IF NO = 1  AND T%(1) = CP  AND T%(25) =  -1  AND PR = 1  AND AU = 25  THEN  PRINT M$(7):T%(1) = 0:T%(2) = CP: RETURN 
  336. 1915  IF NO = 1  AND T%(1) = CP  AND AU = 0  THEN A$ = M$(43): GOSUB 5600: PRINT : RETURN 
  337. 1920  IF NO = 1  AND T%(1) = CP  AND T%(27) < > -1  THEN A$ = M$(19): GOSUB 5600: PRINT : RETURN 
  338. 1925  IF NO = 1  AND T%(2) = CP  THEN  PRINT M$(7):T%(2) = 0:T%(3) = CP: RETURN 
  339. 1930  IF (NO = 59  OR NO = 56)  AND CP = 17  AND T%(12) < >CP  THEN A$ = M$(63): GOSUB 5600: PRINT : RETURN 
  340. 1935  IF NO = 82  AND CP = 17  THEN A$ = M$(64): GOSUB 5600: PRINT : RETURN 
  341. 1936  IF NO = 82  THEN  PRINT M$(2): RETURN 
  342. 1940  IF NO = 16  AND T%(16) = CP  AND T%(17) = 0  THEN  PRINT M$(7):T%(17) = CP: RETURN 
  343. 1945  IF NO = 48  AND (T%(48) = CP  OR T%(48) =  -1)  THEN A$ = M$(57): GOSUB 5600: PRINT : RETURN 
  344. 1950  IF NO = 69  AND CP = 5  THEN A$ = M$(65): GOSUB 5600: PRINT : RETURN 
  345. 1955  IF NO = 70  AND CP = 5  AND T%(20) = 0  THEN  PRINT M$(1):T%(20) = CP:T%(21) = CP:T%(22) = CP: RETURN 
  346. 1998 A$ = M$(21): RETURN 
  347. 1999  REM <CTRL-0x0a>MOVE
  348. 2000  IF NO = 16  AND T%(16) = CP  AND T%(17) = 0  THEN A$ = M$(25): GOSUB 5600: PRINT :T%(17) = CP: RETURN 
  349. 2010  IF NO = 67  AND CP = 23  AND T%(10) = 0  THEN  PRINT M$(7):T%(10) = CP:T%(14) = 0: RETURN 
  350. 2020  IF NO = 37  AND T%(37) = CP  THEN A$ = M$(66): GOSUB 5600: PRINT : RETURN 
  351. 2030  IF NO = 60  AND CP = 4  AND T%(7) = 0  THEN  PRINT M$(7):T%(7) = CP: RETURN 
  352. 2090 A$ = M$(2): GOSUB 5600: PRINT 
  353. 2098  RETURN 
  354. 2099  REM <CTRL-0x0a>PUSH
  355. 2100  IF NO = 37  AND T%(37) = CP  THEN A$ = M$(66): GOSUB 5600: PRINT : RETURN 
  356. 2110  IF NO = 60  AND CP = 4  AND T%(7) = 0  THEN  PRINT M$(7):T%(7) = CP: RETURN 
  357. 2190  GOTO 2000
  358. 2199  REM <CTRL-0x0a>PULL
  359. 2200  IF NO = 11  AND T%(11) = CP  AND T%(12) = 0  THEN  PRINT M$(7):A$ = M$(24): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  360. 2280  GOTO 2000
  361. 2299  REM <CTRL-0x0a>TURN
  362. 2300  IF NO = 11  AND T%(11) = CP  AND T%(12) = 0  THEN  PRINT M$(7):A$ = M$(25): GOSUB 5600: PRINT :T%(12) = CP: RETURN 
  363. 2310  IF NO = 22  AND PR = 3  AND T%(22) =  -1  THEN  PRINT M$(7):T%(22) = 0:T%(23) =  -1: RETURN 
  364. 2320  IF NO = 22  AND PR = 6  AND T%(23) =  -1  THEN  PRINT M$(7):T%(23) = 0:T%(22) =  -1: RETURN 
  365. 2398 A$ = M$(2): GOSUB 5600: PRINT : RETURN 
  366. 2399  REM <CTRL-0x0a>PUT
  367. 2400  IF NO = 35  AND (PR = 3  OR PR = 4)  AND (AU = 62  OR AU = 83)  AND CP = 21  AND T%(13) = 0  AND T%(35) =  -1  THEN  PRINT M$(7):A$ = M$(25): GOSUB 5600: PRINT :T%(13) = CP:T%(35) = 0: RETURN 
  368. 2410  IF NO = 53  AND PR = 3  AND AU = 62  AND CP = 28  AND T%(41) = 0  AND T%(53) =  -1  THEN  PRINT M$(7):A$ = M$(48): GOSUB 5600: PRINT :T%(41) = CP: RETURN 
  369. 2420  IF NO = 28  AND PR = 4  AND AU = 27  AND T%(28) =  -1  AND T%(27) =  -1  THEN  PRINT M$(7):T%(28) = 0: RETURN 
  370. 2498  GOTO 1600
  371. 2499  REM <CTRL-0x0a>SWEEP
  372. 2500  IF NO = 15  AND T%(21) =  -1  AND T%(15) = CP  THEN  PRINT M$(7): PRINT M$(1):T%(15) = 0:T%(16) = CP: RETURN 
  373. 2598 A$ = M$(55): GOSUB 5600: PRINT : RETURN 
  374. 2599  REM <CTRL-0x0a>WEAR
  375. 2600  IF NO = 46  AND T%(46) =  -1  THEN  PRINT M$(7):T%(46) = 0:T%(47) =  -1: RETURN 
  376. 2619  IF NO = 18  AND T%(18) =  -1  THEN  PRINT M$(7):T%(18) = 0:T%(19) =  -1: RETURN 
  377. 2698  PRINT M$(2): RETURN 
  378. 2699  REM <CTRL-0x0a>REMOVE
  379. 2700  IF NO = 46  AND T%(47) =  -1  THEN  PRINT M$(7):T%(47) = 0:T%(46) =  -1: RETURN 
  380. 2710  IF NO = 18  AND T%(19) =  -1  THEN  PRINT M$(7):T%(19) = 0:T%(18) =  -1: RETURN 
  381. 2798 A$ = M$(38): GOSUB 5600: PRINT : RETURN 
  382. 2799  REM <CTRL-0x0a>LIGHT/ON
  383. 2800  IF NO < >22  THEN 2820
  384. 2810  IF T%(22) =  -1  THEN  PRINT M$(7):T%(22) = 0:T%(23) =  -1: RETURN 
  385. 2815  IF T%(23) =  -1  THEN A$ = M$(42): GOSUB 5600: PRINT : RETURN 
  386. 2820 A$ = M$(8): GOSUB 5600: PRINT 
  387. 2890  RETURN 
  388. 2899  REM <CTRL-0x0a>UNLIGHT/OFF
  389. 2900  IF NO < >22  THEN 2920
  390. 2910  IF T%(23) =  -1  THEN  PRINT M$(7):T%(22) =  -1:T%(23) = 0: RETURN 
  391. 2920 A$ = M$(8): GOSUB 5600: PRINT 
  392. 2990  RETURN 
  393. 2999  REM <CTRL-0x0a>KILL
  394. 3000  IF NO = 37  AND PR = 1  AND AU = 29  AND T%(29) =  -1  AND T%(37) = CP  THEN A$ = M$(47): GOSUB 5600: PRINT :T%(37) = 0:T%(38) = CP: RETURN 
  395. 3010  IF AU = 0  THEN A$ = M$(43): GOSUB 5600: PRINT : RETURN 
  396. 3098  PRINT M$(2): RETURN 
  397. 3099  REM <CTRL-0x0a>STAB
  398. 3100  IF NO = 42  AND T%(43) = CP  AND T%(47) =  -1  AND T%(54) =  -1  AND T%(49) =  -1  THEN A$ = M$(44): GOSUB 5600: PRINT :T%(43) = 0:T%(4) = CP: RETURN 
  399. 3198  PRINT M$(2): RETURN 
  400. 3199  REM <CTRL-0x0a>CHOP
  401. 3200  IF AU = 0  THEN A$ = M$(43): GOSUB 5600: PRINT : RETURN 
  402. 3210  IF NO = 32  AND PR = 1  AND AU = 49  AND T%(49) =  -1  AND T%(33) = CP  AND T%(32) = 0  AND T%(34) = 0  AND T%(31) = 0  THEN  PRINT M$(7):T%(32) = CP: RETURN 
  403. 3220  IF NO = 78  AND CP = 3  AND T%(6) = 0  AND T%(49) =  -1  THEN  PRINT M$(7):T%(6) = CP: RETURN 
  404. 3298  PRINT M$(2): RETURN 
  405. 3299  REM <CTRL-0x0a>TIE
  406. 3300  IF NO = 32  AND PR = 2  AND AU = 30  AND T%(32) =  -1  AND T%(30) =  -1  THEN  PRINT M$(7):T%(30) = 0:T%(32) = 0:T%(31) =  -1: RETURN 
  407. 3398  PRINT M$(2): RETURN 
  408. 3399  REM <CTRL-0x0a>CLOSE
  409. 3400  IF NO = 1  AND T%(3) = CP  THEN  PRINT M$(7):T%(3) = 0:T%(2) = CP: RETURN 
  410. 3448  PRINT M$(2): RETURN 
  411. 3449  REM <CTRL-0x0a>USE
  412. 3450  IF NO = 25  AND T%(1) = CP  AND T%(25) =  -1  THEN  PRINT M$(7):T%(1) = 0:T%(2) = CP: RETURN 
  413. 3460  IF NO = 28  AND PR = 3  AND AU = 62  AND T%(44) = CP  AND T%(28) =  -1  THEN  PRINT M$(7): PRINT M$(11):T%(42) =  -1:T%(44) = 0:T%(45) = CP: RETURN 
  414. 3470  IF NO = 21  AND PR = 3  AND AU = 15  AND T%(15) = CP  THEN  PRINT M$(7): PRINT M$(1):T%(15) = 0:T%(16) = CP: RETURN 
  415. 3498  PRINT M$(2): RETURN 
  416. 3499  REM <CTRL-0x0a>SHORT
  417. 3500 DE = 0: RETURN 
  418. 3549  REM <CTRL-0x0a>LONG
  419. 3550 DE = 1: RETURN 
  420. 3569  REM <CTRL-0x0a>JUMP/LEAP
  421. 3570  IF (NO = 72  OR NO = 34  OR NO = 32  OR NO = 7)  AND T%(34) = CP  THEN CP = 39: RETURN 
  422. 3572  IF NO = 0  THEN A$ = M$(7): PRINT M$(5): RETURN 
  423. 3580  GOTO 1300
  424. 3599  REM <CTRL-0x0a>FIXNOUNPOSS
  425. 3600  IF NO <0  THEN NO = 0: GOTO 3780
  426. 3602  IF NO = 46  AND T%(47) =  -1  THEN NO = 47: GOTO 3780
  427. 3604  IF NO = 18  AND T%(19) =  -1  THEN NO = 19: GOTO 3780
  428. 3606  IF NO = 22  AND T%(23) =  -1  THEN NO = 23: GOTO 3780
  429. 3608  IF NO = 30  AND T%(31) =  -1  THEN NO = 31: GOTO 3780
  430. 3610  IF NO = 37  AND T%(38) =  -1  THEN NO = 38: GOTO 3780
  431. 3780  RETURN 
  432. 3799  REM <CTRL-0x0a>FIXNOUNROOM
  433. 3800  IF NO <0  THEN NO = 0: GOTO 3980
  434. 3802  IF NO = 1  OR NO = 4  AND T%(1) = CP  THEN NO = 1: GOTO 3980
  435. 3804  IF NO = 1  OR NO = 4  AND T%(2) = CP  THEN NO = 2: GOTO 3980
  436. 3806  IF NO = 1  OR NO = 4  AND T%(3) = CP  THEN NO = 3: GOTO 3980
  437. 3808  IF NO = 1  OR NO = 4  AND T%(4) = CP  THEN NO = 4: GOTO 3980
  438. 3810  IF NO = 7  AND T%(8) = CP  THEN NO = 8: GOTO 3980
  439. 3812  IF NO = 7  AND T%(9) = CP  THEN NO = 9: GOTO 3980
  440. 3814  IF NO = 7  AND T%(10) = CP  THEN NO = 10: GOTO 3980
  441. 3816  IF NO = 22  AND T%(23) = CP  THEN NO = 23: GOTO 3980
  442. 3818  IF NO = 30  AND T%(31) = CP  THEN NO = 31: GOTO 3980
  443. 3822  IF NO = 32  AND T%(34) = CP  THEN NO = 34: GOTO 3980
  444. 3826  IF NO = 37  AND T%(38) = CP  THEN NO = 38: GOTO 3980
  445. 3828  IF NO = 23  AND T%(24) = CP  THEN NO = 24: GOTO 3980
  446. 3830  IF NO = 54  AND T%(5) = CP  THEN NO = 5: GOTO 3980
  447. 3832  IF NO = 54  AND T%(55) = CP  THEN NO = 55: GOTO 3980
  448. 3880  RETURN 
  449. 3899  REM <CTRL-0x0a>GUE
  450. 3900 BZ = CP:CP = 46: RETURN 
  451. 3949  REM <CTRL-0x0a>LOCK
  452. 3950  PRINT M$(80): RETURN 
  453. 3980  RETURN 
  454. 3990  REM <CTRL-0x0a>TITLE
  455. 4000  TEXT : HOME : PRINT : PRINT "--------------------------------------------------------------------------------": POKE 34,2
  456. 4010  VTAB 24: POKE WL,0: PRINT : PRINT "Welcome to What An Adventure! number 1: Aztec Temple"
  457. 4011  PRINT : PRINT "Copyright (c) 1989 by Tom Hall": PRINT "All rights reserved.": PRINT "Licensed to Softdisk, Inc."
  458. 4012  PRINT "Published on Softdisk #93": PRINT "Subscriptions: 1-800-831-2694": PRINT "Changing this notice is illegal."
  459. 4013  PRINT "(So, you know, don't do it.)": PRINT : PRINT "Version 2.9360176-1701"
  460. 4014  PRINT : PRINT "Type HELP for help and QUIT to quit."
  461. 4015  PRINT : PRINT "Please wait while data loads...": PRINT 
  462. 4020  RETURN 
  463. 4100  PRINT  SPC(  PEEK(33) - PEEK(36));: RETURN 
  464. 4990  REM SAVE GAME
  465. 4999  REM <CTRL-0x0a>STORE
  466. 5000  PRINT : PRINT "Store game": PRINT : PRINT "Enter number to save under(1-9):";:V = 24:H =  PEEK(1403) +1:IW = 1:IN$ =  STR$(DS): GOSUB 16: ON  VAL(IN$) = 0 GOTO 5070
  467. 5005 DS =  VAL(IN$)
  468. 5010 D$ =  CHR$(4)
  469. 5020  PRINT D$;"OPEN AZTECSAVE."IN$
  470. 5030  PRINT D$;"WRITE AZTECSAVE."IN$: PRINT CP
  471. 5040  FOR I = 1 TO NI: PRINT T%(I): NEXT I
  472. 5050  PRINT DF
  473. 5060  PRINT D$;"CLOSE AZTECSAVE."IN$
  474. 5070  PRINT : RETURN 
  475. 5090  REM LOAD GAME
  476. 5099  REM RESTORE
  477. 5100  PRINT : PRINT "Restore game": PRINT : PRINT "Enter number of saved game(1-9):";:V = 24:H =  PEEK(1403) +1:IW = 1:IN$ =  STR$(DS): GOSUB 16: ON  VAL(IN$) = 0 GOTO 5170
  478. 5105 DS =  VAL(IN$)
  479. 5110 D$ =  CHR$(4)
  480. 5120  PRINT D$;"OPEN AZTECSAVE."IN$
  481. 5130  PRINT D$;"READ AZTECSAVE."IN$: INPUT CP
  482. 5140  FOR I = 1 TO NI: INPUT T%(I): NEXT I
  483. 5150  INPUT DF
  484. 5160  PRINT D$;"CLOSE AZTECSAVE."IN$
  485. 5170  PRINT : RETURN 
  486. 5180  REM ***************
  487. 5190  REM *    AUTO     *
  488. 5200  REM ***************
  489. 5210 DF = 0: IF CP >19  AND T%(23) < > -1  AND T%(23) < >CP  AND CP < >46  THEN DF = 1
  490. 5215  IF CP = 46  AND VB < >36  THEN A$ = M$(67): GOSUB 5600: PRINT :CP = BZ:BZ = 0: RETURN 
  491. 5220  IF T%(47) =  -1  AND   NOT (DF)  THEN  VTAB 24: POKE 1403,0:A$ = M$(49): GOSUB 5600: PRINT 
  492. 5230  IF CP < >44  THEN 5260
  493. 5240 ZZ = 0: FOR I = 18 TO NI: IF T%(I) =  -1  THEN ZZ = ZZ +1
  494. 5250  NEXT I: IF ZZ >4  THEN A$ = M$(56): GOSUB 5600: PRINT : PRINT M$(9): GOTO 1000
  495. 5260  IF CP < >33  OR VB < >4  THEN 5580
  496. 5270 TC = 0:SC = 0
  497. 5272  FOR I = 1 TO NT
  498. 5274  IF T%(TN%(I)) = T%(24)  THEN TC = TC +1:SC = SC +V%(I)
  499. 5276  NEXT I: IF T%(24) = 33  THEN SC = SC +15:TC = TC +1
  500. 5278  IF TC = 10  THEN  PRINT :S$ = "s": GOTO 1250
  501. 5580  RETURN 
  502. 5590  REM NO-CUT PRINTOUT
  503. 5600  IF  LEN(A$) +1 < PEEK(33) - PEEK(WL)  THEN  GOTO 5660
  504. 5605  FOR ZZ =  PEEK(33) - PEEK(WL) -1 TO 1  STEP  -1
  505. 5610  IF  MID$ (A$,ZZ,1) < >" "  THEN 5640
  506. 5615  PRINT  LEFT$(A$,ZZ -1)
  507. 5620  IF ZZ < LEN(A$)  THEN A$ =  MID$ (A$,ZZ +1): GOTO 5600
  508. 5625 A$ = "": GOTO 5670
  509. 5640  NEXT ZZ: PRINT 
  510. 5660  PRINT A$;
  511. 5670  RETURN 
  512. 5690  REM TIME DELAY
  513. 5700  FOR I = 1 TO 2000: NEXT I: RETURN 
  514. 40000  REM <CTRL-0x0a>hummy routine<CTRL-0x0a>
  515. 40010  CALL  PEEK(121) + PEEK(122) *256 +32,P,D: REM   GET  COS g EXP R CHR$ ONERR P PLOT  TAN GET   GET  COS g EXP R CHR$ ONERR P PLOT  ATN GET  PLOT 0 TAB(  GR  MID$  MID$  = <CTRL-0x05>  OR  ATN GET <UNKNOWN TOKEN><CTRL-0x13> * = <CTRL-0x05> RESTORE  TAN GET  = <UNKNOWN TOKEN> RIGHT$<CTRL-0x01> =  MID$  IF  TAN GET  =  PEEK````
  516. 40020  RETURN 
  517. 52000 ER =  PEEK(222): IF ER = 255  THEN 14
  518. 52010  PRINT "Error! #"ER" Arrgh!": TEXT : END 
  519. 55000  REM <CTRL-0x0a>upper caser for II+<CTRL-0x0a>
  520. 55010  CALL  PEEK(121) + PEEK(122) *256 +28: REM <CTRL-0x18> HGR2 <CTRL-0x0d> - ATN HGR2 <CTRL-0x06> -<UNKNOWN TOKEN> GOSUB <CTRL-0x02>) SINL<UNKNOWN TOKEN><UNKNOWN TOKEN> IF  STOP <UNKNOWN TOKEN> - MID$  = 2 IF <CTRL-0x1e><UNKNOWN TOKEN> - IF  = + IF  TAB( <UNKNOWN TOKEN> - MID$  = $ IF  NEW <UNKNOWN TOKEN> - MID$  = <CTRL-0x1d> ONERR z DEL Q ONERR y DEL P<CTRL-0x18> SPEED= <CTRL-0x1f>ey DEL P HGR2 <CTRL-0x02> ASCQ ONERR P PLOT 0 GET  ONERR Q PLOT 1 GET `
  521. 55020  RETURN